#!/usr/bin/env python
#-*-coding:utf-8-*-
import sys
import decimal
reload(sys)  
sys.setdefaultencoding('utf-8')
#程序输出
myString = 'hello world!'
#使用print语句
print myString
#仅仅使用变量名,在交互式解释器中有效
myString
#print 输出格式化
print "%s is number %d , is a float number %f " % ("python",2,1.11)
#print 重定向
print >> sys.stderr , 'aaaaaaaa'
#print 重定向到文件
logfile = open('e:/temp/ddd.txt','a')
print >> logfile,'ddddddddddddddd'
logfile.close()

#程序输入,字符串
#user = raw_input('enter your name :')
#print 'your name is :',user
#程序输入,数字
#num = raw_input('enter your num :')
#print 'your num is %d ' % (int(num)*2)

#查看函数帮助,在交互式解释器中有效
#help(raw_input())

#单行注释
"""
多行注释
"""
#文档注释,可以在运行时访问,也可以用来自动生成文档
def foo():
    "this is a fuction "
    return True

#操作符  加+ 减- 乘* 传统除法(取比商小的最大整数)/ 浮点除法// 求余数% 乘方**
print 1//2
print 2//1.3
print 3//1.5
print 3//2.1
print 3**7

# == 和 !=
print 1==1
print 1==2
#逻辑操作符 and or not
print 2<4 and 2==4
print not 6.2 <= 6
print 3<4<5

#增量赋值
num = 1
num += 1
num *= 2
print num

#python的数字类型  int long bool float complex(复数) decimal(十进制浮点数)
print 100
print 0xAABBCCDDL
print 4.2E-10,6.022e23
print 6.23+1.5j

print decimal.Decimal('1.1')

#字符串,第一个字符的索引是0,最后一个字符的索引是-1,+用于字符串连接,*用于字符串重复
pystr = 'Python!'
print pystr[0]
print pystr[2:3]
print pystr[:3]
print pystr[-1]
print pystr[6]
print pystr * 3

#列表和元组 列表中元素的格式和元素的值可以改变,元组是可读的列表,不能改变
aList = [1,2,3,4]
print aList[1:2]
aTuple = ('ddd',11,22)
print aTuple[0:3]

#字典
aDict = {'key1':'value1','key2':'value2'}
for key in aDict:
    print key,aDict[key]
    
#if elif else
a = 2
if a == 1:
    print 'a==1'
elif a ==0:
    print 'a==0'
else:
    print 'a ==' , a
    
#while循环
counter = 0
while counter < 3:
    print 'loop # %d' % (counter)
    counter += 1

#for循环和range()内建函数
for item in aTuple:
    print item, #print 后面的逗号,能去掉print语句默认给每一行增加的换行符

print #输出一个换行符    

for item in range(4):
    print item
#字符串迭代
abc = 'abcde'
for a in abc:
    print a
    
#索引和元素同时循环
foo = 'abc'
for i,ch in enumerate(foo):
    print ch,'(%d)' % i
    
#列表解析,可以在一行中使用一个for循环将所有值放到一个列表当中
sqdEvens = [x ** 2 for x in range(8) if not x % 2]
for i in sqdEvens:
    print i
    
#文件打开和遍历
f = open('e:/temp/ddd.txt','r')
for line in f:
    #print line,
    pass
f.close()   

f = file('e:/temp/ddd.txt')
for line in f:
    print line,
f.close()

#定义函数
def addMe2Me(x):
    '返回x的两倍'
    return x + x

print addMe2Me(6)








